什么是数据库?Python操作数据库难吗(19) | 您所在的位置:网站首页 › qt难学还是c 难学 › 什么是数据库?Python操作数据库难吗(19) |
小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 欢迎和猫妹一起,趣味学Python。 今日主题 今天我们学习下什么是数据库,以及如何用Python操作数据库。 数据库=数据+库 库,汉语常用字(一级字),读作kù,最早见于战国文字,会意兼形声字。 原义为收藏兵车及其他武器的处所;后来泛指收藏各种物品的处所;又指监狱。 车库是存放车的场所。 粮库是存放粮的场所。 水库是存放水的场所。 小金库是存放钱的场所。 数据库呢? 自然是存放数据的场所。 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 小点的数据可能放在记事本中、word、ppt等软件中,大量的数据呢? 一般都是保存到数据库中。 数据库其实就在我们身边,你想想,你登录一个网站或是APP,输入用户名和密码,点击下回车,信息正确登录成功,信息错误登录失败。 几百万、几千万、甚至上亿的信息存放在哪里呢? 这些信息就存放在数据库中,这些信息包括用户名、密码、性别、地址、商品描述、图片等诸多信息。 如何在几百万、几千万、上亿的海量数据中,瞬间找到你输入的数据,然后判断是否匹配,想想就是搞科技啊! 的确,数据库是一门高科技。 常见的数据库 常见的数据库有哪些呢? 我们一起学习下。 Oracle应该是世界上最大的数据库公司,一般超大规模数据会用到oracle。 微软的SQl Server,一般中等规模数据会用到SQL Server。 微软的商业化产品,微软sql语句兼容性好,商业化成熟度高。 微软的Access,小巧,简单易用,office系列之一。 MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。 MySQL 在 2008 年被Sun以10亿美金所收购,2009年4月20日Sun被甲骨文收购。 SQLite,是一款轻量型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。 它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,可能只需要几百K的内存就够了。 它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 操作数据库 上面一下子粗略介绍了那么多数据库,是不是有点懵? 对于非专业人员来讲,只要会简单使用就可以了。 专业人员,要学习很多知识呢。 咱们今天就用SQLite为例子,学习下数据库的常用操作。 其他的数据库需要下载安装软件,咱们今天只是简单了解, 就不下载安装包了。 Python本身已经内置了SQLite,不需要安装,可以直接使用哦! 数据库、数据表、字段、记录等,我们先对这几个名字有个大概的印象。 举个例子,猫妹班级的语文成绩、英语成绩、数学成绩。 先有个数据库,猫妹班级成绩。 数据库中是数据表,这里有三张表,语文成绩、数学成绩、英语成绩。 表中有字段和记录,语文成绩中的学号、姓名、成绩是字段。 学号01,姓名猫妹,成绩85,这表示语文成绩表中的一条记录。 学号不允许有重复值,可以作为主键。 创建数据库 1行:需要导入sqlite3模块。 4行:需要先用connnect创建一个connection对象。 如果数据库文件lvye.db存在,则连接上它。 如果不存在,则创建后连接上它。 6行:创建cursor,中文是游标,我们都是通过游标来访问数据表的,比如增删改查。 8行:执行sql语句,这些语句是创建了一个表table,这个表中有id(主键)、姓名name、年龄age。 啥是主键呢?就是不能重复。 比如身份证号可以作为主键,而姓名不可以。 id类型是int,name类型是varchar,age类型是int。 12行:关闭游标。 14行:关闭connection。 如果再次运行会报如下错误: 这是因为该数据中已经存在 student table了,同一个数据库中不能存在两个同名的数据表。 增删改查操作 数据库中存放的是数据表,数据表中存放的是数据。 对数据表操作,最频繁的就是增删改查操作了。 增删改查指的是在表中增加一条记录、删除一条记录、修改一条记录、查询一条记录。 增 insert into student (id, name, age) values (1, '李雷', 21) 表示向数据表student中添加一条数据,这条数据的内容是 (1, '李雷', 21),这些内容的格式是(id, name, age)。 关闭数据库连接之前一定要调用conn.commit(),否则数据更新不成功。 查 select * from student表示从数据表student中获取所有数据。 它的返回值是一个列表,该列表的每一个元素都是一个元组。 改 update student set name='猫妹' where id=3 表示更新一条记录,这条记录的id是3,将其name改为猫妹。 删 delete from student where id=3 表示从数据表中删除一条记录,这条记录的id是3。 怎么样? 不难吧? 你学会了吧? 和数据库连接、断开等这些都是固定的格式,遵守就可以了。 sql语句则学问很多,要精通需要多学习多练习,它是一门编程语言,有没有觉得它和咱们人类语言很接近? SQL即结构化查询语言(Structured Query Language),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 好了,我们今天就学到这里吧! 如果遇到什么问题,咱们多多交流,共同解决。 我是猫妹,咱们下次见! |
CopyRight 2018-2019 实验室设备网 版权所有 |